package org.db.dao;

public class UeberhoehungslinienDAO extends DAO
		implements
			Comparable<UeberhoehungslinienDAO> {

	private double stationierungInMeterUe;

	private double endstationierungInMeterUE;

	private Ueberhoehungsrampe ueberhoehungsrampe;

	private int ueberhoehungInMM;

	private double laengeRampe;

	public UeberhoehungslinienDAO(double stationierungInMeterUe,
			int ueberhoehungInMM, double endstationierungInMeterUE,
			Ueberhoehungsrampe ueberhoehungsrampe, double laengeRampe) {
		super();
		this.setStationierungInMeterUe(stationierungInMeterUe);
		this.ueberhoehungsrampe = ueberhoehungsrampe;
		this.ueberhoehungInMM = ueberhoehungInMM;
		this.laengeRampe = laengeRampe;
		this.setEndstationierungInMeterUE(endstationierungInMeterUE);

	}

	public Ueberhoehungsrampe getUeberhoehungsrampe() {
		return ueberhoehungsrampe;
	}

	public void setUeberhoehungsrampe(Ueberhoehungsrampe ueberhoehungsrampe) {
		this.ueberhoehungsrampe = ueberhoehungsrampe;
	}

	public int getUeberhoehungInMM() {
		return ueberhoehungInMM;
	}

	public void setUeberhoehungInMM(int ueberhoehungInMM) {
		this.ueberhoehungInMM = ueberhoehungInMM;
	}

	public double getLaengeRampe() {
		return laengeRampe;
	}

	public void setLaengeRampe(double laengeRampe) {
		this.laengeRampe = laengeRampe;
	}

	@Override
	public int compareTo(UeberhoehungslinienDAO other) {
		double diff = this.stationierungInMeterUe
				- other.getStationierungInMeterUe();
		if (diff > 0) {
			return 1;
		} else if (diff < 0) {
			return -1;
		} else {
			return Double.compare(getUeberhoehungInMM(),
					other.getUeberhoehungInMM());
		}
	}

	public void setStationierungInMeterUe(double stationierungInMeterUe) {
		this.stationierungInMeterUe = stationierungInMeterUe;
	}

	public double getStationierungInMeterUe() {
		return stationierungInMeterUe;
	}

	public void setEndstationierungInMeterUE(double endstationierungInMeterUE) {
		this.endstationierungInMeterUE = endstationierungInMeterUE;
	}

	public double getEndstationierungInMeterUE() {
		return endstationierungInMeterUE;
	}
}
